from transformers import pipeline

# 初始化一个用于文本相似度比较的pipeline
# 这里使用了'sentence-transformers'库中的模型，它适合于句子级别的相似度比较
nli_model = pipeline('zero-shot-classification', model='facebook/bart-large-mnli')

# 测试用例
sentences = [
    "字节公司的营收是3000万元。",
    "titok公司的营收超过了2500万元。",
    "字节跳动公司的营收超过2900万元。",
    "字节跳动公司的营收是2950万元。"
]


# 使用模型判断句子的一致性
def check_consistency(sentences):
    # 将句子列表转换为模型可以处理的格式
    hypothesis = sentences[0]
    premises = sentences[1:]

    # 使用模型进行零样本分类，判断句子是否一致
    result = nli_model(hypothesis, premises, multi_label=True)

    # 根据模型的输出判断句子是否一致
    if result['labels'][0] == 'entailment':
        return "一致"
    else:
        # 如果不一致，返回不一致的句子列表
        inconsistent_sentences = [hypothesis] + [p for p in premises if p not in result['labels']]
        return "不一致", inconsistent_sentences


# 调用函数并打印结果
consistency, inconsistent_sentences = check_consistency(sentences)
print(f"1）{consistency}")
print(f"2）{inconsistent_sentences}")